<?php

// +----------------------------------------------------------------------
// | 日志设置
// +----------------------------------------------------------------------
$default = [
    // 日志记录方式
    'type'           => 'File',
    // 日志保存目录
    'path'           => '',
    // 单文件日志写入
    'single'         => false,
    // 独立日志级别
    'apart_level'    => ['debug', 'error', 'info'],
    // 最大日志文件数量
    'max_files'      => 0,
    // 使用JSON格式记录
    'json'           => false,
    // 日志处理
    'processor'      => null,
    // 关闭通道日志写入
    'close'          => false,
    // 日志输出格式化
    'format'         => '[%s][%s] %s',
    // 是否实时写入
    'realtime_write' => false,
];
$channels = [
    'file'   => $default,
    'swoole' => array_merge($default, ['path' => runtime_path('swoole')])
];

try {
    $addon_channels = [];
    $files = glob(root_path() . "addons/*/config.php");
    foreach ($files as $path) {
        $addon = basename(dirname($path));
        $config = include $path;
        if (isset($config['log'])) {
            $addon_channels[$addon] = $config['log'];
        } else {
            $channel = $channels['file'];
            $channel['path'] = runtime_path('addon_logs/' . $addon);
            $addon_channels[$addon] = $channel;
        }
    }
} catch (\Throwable $e) {
}

return [
    // 默认日志记录通道
    'default'      => env('log.channel', 'file'),
    // 日志记录级别
    'level'        => [],
    // 日志类型记录的通道 ['error'=>'email',...]
    'type_channel' => [],
    // 关闭全局日志写入
    'close'        => false,
    // 全局日志处理 支持闭包
    'processor'    => null,
    // 日志通道列表
    'channels'     => array_merge($channels, $addon_channels)
];
